//package com.ls.utils.pay;
//
//import com.alibaba.fastjson2.JSON;
//import com.alibaba.fastjson2.JSONObject;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.http.HttpEntity;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.HttpMethod;
//import org.springframework.http.MediaType;
//import org.springframework.http.ResponseEntity;
//import org.springframework.stereotype.Component;
//import org.springframework.util.MultiValueMap;
//import org.springframework.web.client.RestTemplate;
//
///**
// * @author:WangZiBin
// * @description:http发送工具类
// */
//@Component
//public class HttpClient {
//    @Autowired
//    private RestTemplate restTemplate;
//
//    public String sendPostRequestJson(String url, JSONObject object) {
//        RestTemplate client = new RestTemplate();
//
//        String s = JSON.toJSONString(object);
//        // 要点1: 这三句设置header非常重要
//        HttpHeaders headers = new HttpHeaders();
//        headers.setContentType(MediaType.APPLICATION_JSON);
//        HttpEntity<String> request = new HttpEntity<String>(s, headers);
//
//        // 要点2：这里要发送包含header的request，不要直接发对象的json报文
//        ResponseEntity res = restTemplate.postForEntity(url, request, String.class);
//        return res.getBody().toString();
//    }
//
//    /**
//     * 向目的URL发送post请求
//     *
//     * @param url    目的url
//     * @param params 发送的参数
//     * @return AdToutiaoJsonTokenData
//     */
//    public String sendPostRequest(String url, MultiValueMap<String, String> params) {
//        //新建Http头，add方法可以添加参数
//        HttpHeaders headers = new HttpHeaders();
//        //设置请求发送方式
//        HttpMethod method = HttpMethod.POST;
//        // 以表单的方式提交
//        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//        //将请求头部和参数合成一个请求
//        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
//        //执行HTTP请求，将返回的结构使用String 类格式化（可设置为对应返回值格式的类）
//        ResponseEntity<String> response = restTemplate.exchange(url, method, requestEntity, String.class);
//
//        return response.getBody();
//    }
//
//    /**
//     * 向目的URL发送get请求
//     *
//     * @param url    目的url
//     * @param params 发送的参数
//     * @return String
//     */
//    public String sendGetRequest(String url, MultiValueMap<String, String> params) {
//        HttpMethod method = HttpMethod.GET;
//        //新建Http头，add方法可以添加参数
//        HttpHeaders headers = new HttpHeaders();
//        // 以表单的方式提交
//        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//        //将请求头部和参数合成一个请求
//        HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
//        //执行HTTP请求，将返回的结构使用String 类格式化
//        ResponseEntity<String> response = restTemplate.exchange(url, method, requestEntity, String.class);
//
//        return response.getBody();
//    }
//}
